package com.zone.editor.inter;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import androidx.annotation.NonNull;

import com.zone.editor.CustomEffect;
import com.zone.editor.enums.Filter;

public interface EditorView  {

    ViewGroup getView();

    Context getContext();

    DrawingView getDrawingView();

    ImageView getSource();

    void removeView(View view);

    Editor build(Editor.Builder builder);

    void addView(View child);

    void addView(View child, ViewGroup.LayoutParams params);

    void updateViewLayout(View view, ViewGroup.LayoutParams params);

    int getChildCount();

    View getChildAt(int index);

    void setClipSourceImage(boolean clip);

    void setFilterEffect(Filter filterType);

    void setFilterEffect(CustomEffect customEffect);

    void saveFilter(@NonNull final OnSaveBitmap onSaveBitmap);

    int getWidth();

    int getHeight();

    void draw(Canvas canvas);

    Bitmap getTemplateBitmap();

    void clearAll();
}
